LoginSignup
javatrainingMan
@javatrainingMan

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Java 画像の表示

【Java VSCode】

【目的】
キーボードで"うさぎ"と入力されたら、
うさぎの画像が表示されるような
プログラムをつくりたいです。

初心者ですが、下のコードを書いてみました。
if文で"うさぎ"が入力された時に画像を表示したいです。

途中のコード↓
import java.util.Scanner;
class ImageDisplay{
public static void main(String [] args){

    Scanner scanner = new Scanner(System.in);
    String num = scanner.nextLine();

    if(num.equals("うさぎ")){
        //うさぎの画像の表示
    }
}

}

0

1Answer

画像を表示したいなら、普通に考えるとウィンドウが必要ですね。
Java言語限定なら、Javaアプレットですかね。Javaアプレットってまだ使える??
他には、Processingですかね。

VS Codeのウィンドウに表示するのは、ハードルが高そう(Javaでは無理かも)。

1

Comments

  1. Swingフレームワークを使用すれば、簡単に画像が表示できました。

    以下のコードでsample.pngを表示できることを確認しましたので、文字列の入力と判定を追加して、画像ファイルのファイル名を切り替えるようにすれば、やりたいことが実現できると思います。

    ImageDisplay.java
    import javax.swing.*;
    import java.awt.*;
    import java.io.File;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    
    public class ImageDisplay extends JFrame {
    
        private BufferedImage image;
    
        public ImageDisplay(String filename) {
            try {
                // sample.png ファイルを読み込む
                image = ImageIO.read(new File(filename));
            } catch (IOException e) {
                e.printStackTrace();
                System.exit(1);
            }
    
            // JFrameの設定
            setTitle("Image Display");
            setSize(image.getWidth(), image.getHeight() + 30);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLocationRelativeTo(null); // 画面中央に表示
        }
    
        @Override
        public void paint(Graphics g) {
            super.paint(g);
            // 画像を描画する
            g.drawImage(image, 0, 30, this);
        }
    
        public static void main(String[] args) {
            // JFrameを表示
            SwingUtilities.invokeLater(() -> {
                ImageDisplay frame = new ImageDisplay("sample.png");
                frame.setVisible(true);
            });
        }
    }
    

Your answer might help someone💌